Range: Group all three gestures
authorTimm Bäder <mail@baedert.org>
Mon, 1 Feb 2016 10:25:51 +0000 (11:25 +0100)
committerTimm Bäder <mail@baedert.org>
Thu, 4 Feb 2016 16:08:30 +0000 (17:08 +0100)
commit35cd0be46863b94eb7b1e0d214a1fbbca9187457
treea1f5010b77e33dd48e791af58d951629314c57fb
parent7b88e304c779ad23b7c2945cb42a0f8a20f9060e
Range: Group all three gestures

And reset the grab_location in the ::released handler of the multipress
gesture.

Previously, when leaving fine-tune mode, the ::released handler of the
multipress gesture would call stop_scrolling, which calls
range_grab_remove and resets the grab_location. The ::drag-end handler
is executed after that, and only unsets priv->in_drag if the
grab_location is MOUSE_OUTSIDE, which it never was, since the ::released
handler already reset it. This lead to priv->in_drag being set even
though no dragging was in progress anymore, which e.g. made shift
pressed after leaving the fine-tune mode entering it again.

https://bugzilla.gnome.org/show_bug.cgi?id=761402
gtk/gtkrange.c